<html><head>
<link rel="stylesheet" href="docstyle.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Jvm_bytecode" rel="Chapter" href="Jvm_bytecode.html">
<link title="Jvm_io" rel="Chapter" href="Jvm_io.html">
<link title="Jvm_jar" rel="Chapter" href="Jvm_jar.html">
<link title="Jvm_type" rel="Chapter" href="Jvm_type.html"><title>HaXeJvm Documentation : Jvm_io</title>
</head>
<body>
<code class="code"></code><table><tr><td></td><td><span class="comment">(** This module provides functions to create "binary" buffers of JVM class files represented in 'jvm_bytecode.ml'.
<p>

 Those buffers can either be sent along to 'jvm_jar.ml' to bundle them together or back to this module
 to save them to disk.
 Note : it is considered a wanted design choice that this modules depends heavily on 'jvm_bytecode.ml'. They are
 essentially only seperated for maintanace reasons. Mentally they should be thought of as one, whereas 'jvm_bytecode.ml' deals with the more
 abstract ocaml representation of the class file format and 'jvm_classfile.ml' deals with the actual file IO.
<p>

 @author Oliver Jan Krylow 2010
 *)</span></td></tr></table><code class="code"><br>
<br>
<span class="keyword">open</span>&nbsp;<span class="constructor">Jvm_bytecode</span><br>
<span class="keyword">open</span>&nbsp;<span class="constructor">ExtList</span><br>
<br>
</code><table><tr><td></td><td><span class="comment">(** jvm bytecode types -&gt; types for the jvm class file format Note: the     
 signed byte types are as far as I can see only used for switch opcodes, 
 but even there not really necessary, I leave them nonetheless for       
 potential future use or backward compatability, in case someone         
 implements it ^^                                                        *)</span></td></tr></table><code class="code"><br>
<span class="keyword">type</span>&nbsp;t&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U1</span>&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** 8bit unsigned big endian byte  -&gt; jvm class file opcode size *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U2</span>&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** 16bit unsigned big endian *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S2</span>&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** '' signed '' *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U4</span>&nbsp;<span class="keyword">of</span>&nbsp;int64&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** 32bit unsigned big endian *)</span></td></tr></table><code class="code"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S4</span>&nbsp;<span class="keyword">of</span>&nbsp;int32&nbsp;</code><table><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><span class="comment">(** '' signed '' *)</span></td></tr></table><code class="code"><br>
<br>
<span class="keyword">type</span>&nbsp;stream&nbsp;=&nbsp;t&nbsp;list<br>
<br>
</code><table><tr><td></td><td><span class="comment">(** this exception indicates, that too large numbers were used. *)</span></td></tr></table><code class="code"><br>
<span class="keyword">exception</span>&nbsp;<span class="constructor">ByteCodeOverflow</span>&nbsp;<span class="keyword">of</span>&nbsp;string<br>
<span class="keyword">exception</span>&nbsp;<span class="constructor">Unimplemented</span><br>
<br>
</code><table><tr><td></td><td><span class="comment">(** little helper function to make code cleaner.
  *)</span></td></tr></table><code class="code"><br>
<span class="keyword">let</span>&nbsp;flatmap&nbsp;f&nbsp;l&nbsp;=&nbsp;(<span class="constructor">List</span>.flatten&nbsp;(<span class="constructor">List</span>.map&nbsp;f&nbsp;l))&nbsp;<br>
<br>
</code><table><tr><td></td><td><span class="comment">(**  *)</span></td></tr></table><code class="code"><br>
<span class="keyword">let</span>&nbsp;asU1&nbsp;i&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;i&nbsp;&lt;&nbsp;0&nbsp;<span class="keyword">then</span>&nbsp;raise&nbsp;(&nbsp;<span class="constructor">ByteCodeOverflow</span>&nbsp;<span class="string">"negative"</span>&nbsp;)&nbsp;<span class="keyword">else</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;i&nbsp;&gt;&nbsp;255&nbsp;<span class="keyword">then</span>&nbsp;raise&nbsp;(&nbsp;<span class="constructor">ByteCodeOverflow</span>&nbsp;<span class="string">"positive"</span>&nbsp;)&nbsp;<span class="keyword">else</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">U1</span>&nbsp;i<br>
<br>
<span class="keyword">let</span>&nbsp;asU2&nbsp;i&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;i&nbsp;&lt;&nbsp;0&nbsp;<span class="keyword">then</span>&nbsp;raise&nbsp;(&nbsp;<span class="constructor">ByteCodeOverflow</span>&nbsp;<span class="string">"negative"</span>&nbsp;)&nbsp;<span class="keyword">else</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;i&nbsp;&gt;&nbsp;65535&nbsp;<span class="keyword">then</span>&nbsp;raise&nbsp;(&nbsp;<span class="constructor">ByteCodeOverflow</span>&nbsp;<span class="string">"positive"</span>&nbsp;)&nbsp;<span class="keyword">else</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">U2</span>&nbsp;i<br>
<br>
<span class="keyword">let</span>&nbsp;asU4&nbsp;i&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;i&nbsp;&lt;&nbsp;0<span class="constructor">L</span>&nbsp;<span class="keyword">then</span>&nbsp;raise&nbsp;(&nbsp;<span class="constructor">ByteCodeOverflow</span>&nbsp;<span class="string">"negative"</span>&nbsp;)&nbsp;<span class="keyword">else</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;i&nbsp;&gt;&nbsp;4294967295<span class="constructor">L</span>&nbsp;<span class="keyword">then</span>&nbsp;raise&nbsp;(&nbsp;<span class="constructor">ByteCodeOverflow</span>&nbsp;<span class="string">"positive"</span>&nbsp;)&nbsp;<span class="keyword">else</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">U4</span>&nbsp;i<br>
<br>
<span class="keyword">let</span>&nbsp;bytesplit&nbsp;i&nbsp;n&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">match</span>&nbsp;n&nbsp;<span class="keyword">with</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;0&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU1&nbsp;(i&nbsp;<span class="keyword">land</span>&nbsp;0xF)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;1&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU1&nbsp;(i&nbsp;<span class="keyword">lsr</span>&nbsp;8)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;2&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU1&nbsp;(i&nbsp;<span class="keyword">lsr</span>&nbsp;16)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;3&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU1&nbsp;(i&nbsp;<span class="keyword">lsr</span>&nbsp;24)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span><br>
<br>
<span class="keyword">let</span>&nbsp;bytesplit32&nbsp;i&nbsp;n&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">match</span>&nbsp;n&nbsp;<span class="keyword">with</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;0&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU1&nbsp;(<span class="constructor">Int32</span>.to_int&nbsp;(&nbsp;<span class="constructor">Int32</span>.logand&nbsp;i&nbsp;0xFl&nbsp;))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;1&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU1&nbsp;(<span class="constructor">Int32</span>.to_int&nbsp;(&nbsp;<span class="constructor">Int32</span>.shift_right_logical&nbsp;i&nbsp;8&nbsp;))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;2&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU1&nbsp;(<span class="constructor">Int32</span>.to_int&nbsp;(&nbsp;<span class="constructor">Int32</span>.shift_right_logical&nbsp;i&nbsp;16&nbsp;))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;3&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU1&nbsp;(<span class="constructor">Int32</span>.to_int&nbsp;(&nbsp;<span class="constructor">Int32</span>.shift_right_logical&nbsp;i&nbsp;24&nbsp;))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span><br>
<br>
<span class="keyword">let</span>&nbsp;asUTF8mod&nbsp;str&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">List</span>.flatten&nbsp;(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">List</span>.of_enum&nbsp;(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Enum</span>.map&nbsp;(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">fun</span>&nbsp;ch&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;unicode&nbsp;=&nbsp;<span class="constructor">UChar</span>.uint_code&nbsp;(<span class="constructor">UChar</span>.of_char&nbsp;ch)&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(unicode&nbsp;&gt;=&nbsp;0x0001)&nbsp;<span class="keywordsign">&amp;&amp;</span>&nbsp;(unicode&nbsp;&lt;=&nbsp;0x007F)&nbsp;<span class="keyword">then</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;unicode&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span>&nbsp;<span class="keyword">if</span>&nbsp;(unicode&nbsp;=&nbsp;0)&nbsp;<span class="keywordsign">||</span>&nbsp;(unicode&nbsp;&gt;=&nbsp;0x0080)&nbsp;<span class="keywordsign">&amp;&amp;</span>&nbsp;(unicode&nbsp;&lt;=&nbsp;0x07FF)&nbsp;<span class="keyword">then</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;(0x00C0&nbsp;<span class="keyword">lor</span>&nbsp;(unicode&nbsp;<span class="keyword">lsr</span>&nbsp;6));&nbsp;<span class="constructor">U1</span>&nbsp;(0x0080&nbsp;<span class="keyword">lor</span>&nbsp;(unicode&nbsp;<span class="keyword">land</span>&nbsp;0x003F))&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span>&nbsp;<span class="keyword">if</span>&nbsp;(unicode&nbsp;&gt;=&nbsp;0x0800)&nbsp;<span class="keywordsign">&amp;&amp;</span>&nbsp;(unicode&nbsp;&lt;=&nbsp;0xFFFF)&nbsp;<span class="keyword">then</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;(0x00E0&nbsp;<span class="keyword">lor</span>&nbsp;(unicode&nbsp;<span class="keyword">lsr</span>&nbsp;12));&nbsp;<span class="constructor">U1</span>&nbsp;(0x0080&nbsp;<span class="keyword">lor</span>&nbsp;((unicode&nbsp;<span class="keyword">lsr</span>&nbsp;6)&nbsp;<span class="keyword">land</span>&nbsp;0x003F));&nbsp;<span class="constructor">U1</span>&nbsp;(0x0080&nbsp;<span class="keyword">lor</span>&nbsp;(unicode&nbsp;<span class="keyword">land</span>&nbsp;0x003F))&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x00ED;&nbsp;<span class="constructor">U1</span>&nbsp;(0x00A0&nbsp;<span class="keyword">lor</span>&nbsp;(((unicode&nbsp;<span class="keyword">lsr</span>&nbsp;16)&nbsp;-&nbsp;1)&nbsp;<span class="keyword">land</span>&nbsp;0x000F))&nbsp;;&nbsp;<span class="constructor">U1</span>&nbsp;(0x0080&nbsp;<span class="keyword">lor</span>&nbsp;((unicode&nbsp;<span class="keyword">lsr</span>&nbsp;10)&nbsp;<span class="keyword">land</span>&nbsp;0x003F));&nbsp;<span class="constructor">U1</span>&nbsp;0x00ED;&nbsp;<span class="constructor">U1</span>&nbsp;(0x00B0&nbsp;<span class="keyword">lor</span>&nbsp;((unicode&nbsp;<span class="keyword">lsr</span>&nbsp;6)&nbsp;<span class="keyword">land</span>&nbsp;0x000F));&nbsp;<span class="constructor">U1</span>&nbsp;(0x0080&nbsp;<span class="keyword">lor</span>&nbsp;(unicode&nbsp;<span class="keyword">land</span>&nbsp;0x003F))&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">ExtString</span>.<span class="constructor">String</span>.enum&nbsp;str)))<br>
<br>
<span class="keyword">let</span>&nbsp;<span class="keyword">rec</span>&nbsp;merge_flags&nbsp;flags_list&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;merge_access_masks&nbsp;flag1&nbsp;flag2&nbsp;=&nbsp;flag1&nbsp;<span class="keyword">land</span>&nbsp;flag2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">in</span>&nbsp;<span class="constructor">U2</span>&nbsp;(<span class="constructor">List</span>.fold_left&nbsp;merge_access_masks&nbsp;0x0000&nbsp;(<span class="constructor">List</span>.map&nbsp;flag_to_int&nbsp;flags_list))<br>
<br>
<span class="keyword">and</span>&nbsp;flag_to_int&nbsp;=&nbsp;<span class="keyword">function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Public</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0001<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Private</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0002<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Protected</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0004<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Static</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0008<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Final</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0010<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Super</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0020<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Synchronized</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0020<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Volatile</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Bridge</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0040<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Transient</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Varargs</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0080<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Native</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0100<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Interface</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0200<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Abstract</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0400<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Strict</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x0800<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Synthetic</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x1000<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Annotation</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x2000<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Enum</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;0x4000<br>
<br>
<span class="keyword">let</span>&nbsp;count_bytes&nbsp;bytes_list&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keyword">let</span>&nbsp;qualify&nbsp;=&nbsp;<span class="keyword">function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U1</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U2</span>&nbsp;_&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S2</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U4</span>&nbsp;_&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S4</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;4<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">in</span>&nbsp;<span class="constructor">List</span>.fold_left&nbsp;(<span class="keyword">fun</span>&nbsp;a&nbsp;b&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;a&nbsp;+&nbsp;(qualify&nbsp;b))&nbsp;0&nbsp;bytes_list&nbsp;)<br>
<br>
<span class="keyword">exception</span>&nbsp;<span class="constructor">IllegalWideArg</span>&nbsp;<span class="keyword">of</span>&nbsp;opcode<br>
<span class="keyword">exception</span>&nbsp;<span class="constructor">IllegalChop</span>&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;*&nbsp;int<br>
<span class="keyword">exception</span>&nbsp;<span class="constructor">IllegalAppend</span>&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;*&nbsp;int&nbsp;*&nbsp;verification_type_info&nbsp;list<br>
<span class="keyword">exception</span>&nbsp;<span class="constructor">DeprecatedOpcode</span>&nbsp;<span class="keyword">of</span>&nbsp;opcode<br>
<br>
<span class="comment">(*&nbsp;takes&nbsp;one&nbsp;abstract&nbsp;jvm&nbsp;class&nbsp;file&nbsp;and&nbsp;returns&nbsp;list&nbsp;of&nbsp;bc&nbsp;typed&nbsp;integers&nbsp;*)</span><br>
<span class="comment">(*&nbsp;TODO:change&nbsp;the&nbsp;limit&nbsp;of&nbsp;lists&nbsp;in&nbsp;ocaml&nbsp;is&nbsp;around&nbsp;10000&nbsp;elements,&nbsp;which*)</span><br>
<span class="comment">(*&nbsp;is&nbsp;too&nbsp;small&nbsp;considering&nbsp;we&nbsp;are&nbsp;storing&nbsp;bytes.*)</span><br>
<span class="comment">(*&nbsp;Right&nbsp;now&nbsp;a&nbsp;list&nbsp;of&nbsp;bytes&nbsp;is&nbsp;not&nbsp;stricly&nbsp;necessary&nbsp;for&nbsp;our&nbsp;compiler,*)</span><br>
<span class="comment">(*&nbsp;so&nbsp;we&nbsp;could&nbsp;write&nbsp;directly&nbsp;to&nbsp;outbut&nbsp;buffer&nbsp;in&nbsp;this&nbsp;function.*)</span><br>
<span class="comment">(*&nbsp;Or&nbsp;change&nbsp;collection&nbsp;type&nbsp;to&nbsp;something&nbsp;like&nbsp;big&nbsp;array...*)</span><br>
<span class="keyword">let</span>&nbsp;<span class="keyword">rec</span>&nbsp;streamify&nbsp;jclass&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class="constructor">U4</span>&nbsp;0xCAFEBABE<span class="constructor">L</span>&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;(<span class="keyword">match</span>&nbsp;jclass.version&nbsp;<span class="keyword">with</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">JDK_1_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span>&nbsp;<span class="comment">(*&nbsp;[&nbsp;U2&nbsp;0x3&nbsp;;U2&nbsp;0x002D&nbsp;]&nbsp;*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">JDK_1_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span>&nbsp;<span class="comment">(*&nbsp;[&nbsp;U2&nbsp;0x0&nbsp;;U2&nbsp;0x002E&nbsp;]&nbsp;*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">JDK_1_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span>&nbsp;<span class="comment">(*&nbsp;[&nbsp;U2&nbsp;0x0&nbsp;;U2&nbsp;0x002F&nbsp;]&nbsp;*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">JDK_1_4</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span>&nbsp;<span class="comment">(*&nbsp;[&nbsp;U2&nbsp;0x0&nbsp;;U2&nbsp;0x0030&nbsp;]&nbsp;*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">JDK_1_5</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span>&nbsp;<span class="comment">(*&nbsp;[&nbsp;U2&nbsp;0x0&nbsp;;U2&nbsp;0x0031&nbsp;]&nbsp;*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">JDK_1_6</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x0&nbsp;;&nbsp;<span class="constructor">U2</span>&nbsp;0x0032&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">JDK_1_7</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span>&nbsp;<span class="comment">(*[&nbsp;U2&nbsp;0x0&nbsp;;U2&nbsp;0x0033&nbsp;]&nbsp;*)</span>&nbsp;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;asU2&nbsp;((<span class="constructor">DynArray</span>.length&nbsp;jclass.constant_pool)&nbsp;+&nbsp;1)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;(<span class="keyword">let</span>&nbsp;streamify_cp&nbsp;=&nbsp;<span class="keyword">function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Utf8Const</span>&nbsp;str&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x1&nbsp;]&nbsp;@&nbsp;(asUTF8mod&nbsp;str)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IntegerConst</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x3;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int32&nbsp;i)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">FloatConst</span>&nbsp;flo&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x4;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.bits_of_float&nbsp;flo)]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">LongConst</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x5;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.logand&nbsp;0x00000000FFFFFFFF<span class="constructor">L</span>&nbsp;i);&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.shift_right_logical&nbsp;i&nbsp;32)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">DoubleConst</span>&nbsp;flo&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x6&nbsp;;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.logand&nbsp;0x00000000FFFFFFFF<span class="constructor">L</span>&nbsp;(<span class="constructor">Int64</span>.bits_of_float&nbsp;flo))&nbsp;;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.shift_right_logical&nbsp;(<span class="constructor">Int64</span>.bits_of_float&nbsp;flo)&nbsp;32)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">StringConst</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x8;&nbsp;asU2&nbsp;i&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Class</span>&nbsp;name_index&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x7;&nbsp;asU2&nbsp;name_index&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">FieldRef</span>&nbsp;(class_index,&nbsp;name_type_index)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x9&nbsp;;&nbsp;asU2&nbsp;class_index;&nbsp;asU2&nbsp;name_type_index&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">MethodRef</span>&nbsp;(class_index,&nbsp;name_type_index)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x10;&nbsp;asU2&nbsp;class_index;&nbsp;asU2&nbsp;class_index&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">InterfaceMethodRef</span>&nbsp;(class_index,&nbsp;name_type_index)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x11;&nbsp;asU2&nbsp;class_index;&nbsp;asU2&nbsp;name_type_index&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NameAndType</span>&nbsp;(name_index,&nbsp;descriptor_index)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x12;&nbsp;asU2&nbsp;name_index;&nbsp;asU2&nbsp;descriptor_index&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">in</span>&nbsp;flatmap&nbsp;streamify_cp&nbsp;(<span class="constructor">DynArray</span>.to_list&nbsp;jclass.constant_pool)&nbsp;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;merge_flags&nbsp;jclass.access_flags&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;asU2&nbsp;jclass.this&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;asU2&nbsp;jclass.super&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;jclass.interfaces)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;(&nbsp;<span class="constructor">List</span>.map&nbsp;(<span class="keyword">fun</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU2&nbsp;i)&nbsp;jclass.interfaces)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;jclass.fields)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;(<span class="keyword">fun</span>&nbsp;f&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[merge_flags&nbsp;f.f_access_flags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asU2&nbsp;f.f_name_index;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asU2&nbsp;f.f_descriptor_index;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;f.f_attributes)]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;streamify_attrs&nbsp;f.f_attributes)&nbsp;jclass.fields<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;jclass.methods)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;(<span class="keyword">fun</span>&nbsp;m&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[merge_flags&nbsp;m.m_access_flags;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asU2&nbsp;m.m_name_index;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asU2&nbsp;m.m_descriptor_index;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;m.m_attributes)]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;streamify_attrs&nbsp;m.m_attributes)&nbsp;jclass.methods<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;jclass.attributes)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;streamify_attrs&nbsp;jclass.attributes<br>
<br>
<span class="keyword">and</span>&nbsp;streamify_verification&nbsp;=&nbsp;<span class="keyword">function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Top_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x00&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Integer_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x01&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x02&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Long_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x03&nbsp;;&nbsp;<span class="constructor">U1</span>&nbsp;0x00&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Double_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x04&nbsp;;&nbsp;<span class="constructor">U1</span>&nbsp;0x00]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Null_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x05&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">UninitializedThis_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x06&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Object_var</span>&nbsp;index&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x07&nbsp;;&nbsp;asU2&nbsp;index]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Uninitialized_var</span>&nbsp;offset&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0x08&nbsp;;&nbsp;asU2&nbsp;offset]<br>
<br>
<span class="keyword">and</span>&nbsp;streamify_entry&nbsp;=&nbsp;<span class="keyword">function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Same</span>&nbsp;offset_delta&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(offset_delta&nbsp;&lt;&nbsp;0)&nbsp;<span class="keywordsign">||</span>&nbsp;(offset_delta&nbsp;&gt;&nbsp;63)&nbsp;<span class="keyword">then</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0xFB;&nbsp;asU2&nbsp;offset_delta&nbsp;]&nbsp;<span class="keyword">else</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;offset_delta]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SameLocals1</span>&nbsp;(offset_delta,&nbsp;verification)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(offset_delta&nbsp;&lt;&nbsp;0)&nbsp;<span class="keywordsign">||</span>&nbsp;(offset_delta&nbsp;&gt;&nbsp;63)&nbsp;<span class="keyword">then</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0xF7;&nbsp;asU2&nbsp;offset_delta&nbsp;]&nbsp;<span class="keyword">else</span>&nbsp;[<span class="constructor">U1</span>&nbsp;(offset_delta&nbsp;+&nbsp;64)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;streamify_verification&nbsp;verification<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Chop</span>&nbsp;(offset_delta,&nbsp;num)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(251&nbsp;-&nbsp;num&nbsp;&lt;&nbsp;248)&nbsp;<span class="keywordsign">||</span>&nbsp;(251&nbsp;-&nbsp;num&nbsp;&gt;&nbsp;250)&nbsp;<span class="keyword">then</span>&nbsp;(raise&nbsp;(<span class="constructor">IllegalChop</span>&nbsp;(offset_delta,&nbsp;num)))&nbsp;<span class="keyword">else</span>&nbsp;[<span class="constructor">U1</span>&nbsp;(251&nbsp;-&nbsp;num);&nbsp;asU2&nbsp;offset_delta]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Append</span>&nbsp;(offset_delta,&nbsp;num,&nbsp;verifications)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(251&nbsp;+&nbsp;num&nbsp;&lt;&nbsp;252)&nbsp;<span class="keywordsign">||</span>&nbsp;(251&nbsp;+&nbsp;num&nbsp;&gt;&nbsp;254)&nbsp;<span class="keyword">then</span>&nbsp;(raise&nbsp;(<span class="constructor">IllegalAppend</span>&nbsp;(offset_delta,&nbsp;num,&nbsp;verifications)))&nbsp;<span class="keyword">else</span>&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;(251&nbsp;+&nbsp;num);&nbsp;asU2&nbsp;offset_delta&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;<span class="keyword">if</span>&nbsp;((<span class="constructor">List</span>.length&nbsp;verifications)&nbsp;!=&nbsp;num)&nbsp;<span class="keyword">then</span>&nbsp;(raise&nbsp;(<span class="constructor">IllegalAppend</span>&nbsp;(offset_delta,&nbsp;num,&nbsp;verifications)))&nbsp;<span class="keyword">else</span>&nbsp;flatmap&nbsp;streamify_verification&nbsp;verifications<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Full</span>&nbsp;(offset_delta,&nbsp;locals_verifications,&nbsp;stack_items)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U1</span>&nbsp;0xFF;&nbsp;asU2&nbsp;offset_delta;&nbsp;asU2&nbsp;(<span class="constructor">List</span>.fold_left&nbsp;(<span class="keyword">fun</span>&nbsp;a&nbsp;ver&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;+&nbsp;(<span class="keyword">match</span>&nbsp;ver&nbsp;<span class="keyword">with</span>&nbsp;<span class="constructor">Top_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Integer_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Null_var</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">UninitializedThis_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Object_var</span>&nbsp;_&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Uninitialized_var</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Double_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Long_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;2))&nbsp;0&nbsp;locals_verifications)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;streamify_verification&nbsp;locals_verifications<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[&nbsp;asU2&nbsp;(<span class="constructor">List</span>.fold_left&nbsp;(<span class="keyword">fun</span>&nbsp;a&nbsp;ver&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;a&nbsp;+&nbsp;(<span class="keyword">match</span>&nbsp;ver&nbsp;<span class="keyword">with</span>&nbsp;<span class="constructor">Top_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Integer_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Null_var</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">UninitializedThis_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Object_var</span>&nbsp;_&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Uninitialized_var</span>&nbsp;_&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Double_var</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Long_var</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;2))&nbsp;0&nbsp;stack_items)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;streamify_verification&nbsp;stack_items<br>
<br>
<span class="keyword">and</span>&nbsp;streamify_attrs&nbsp;=&nbsp;<span class="keyword">function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ConstantValue</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x0011&nbsp;;&nbsp;<span class="constructor">U4</span>&nbsp;0x00000002<span class="constructor">L</span>&nbsp;;&nbsp;asU2&nbsp;i&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Code</span>&nbsp;code&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class="constructor">U2</span>&nbsp;0x0012;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(&nbsp;12&nbsp;+&nbsp;count_bytes&nbsp;(flatmap&nbsp;streamify_opcode&nbsp;code.co_code)&nbsp;+<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((<span class="constructor">List</span>.length&nbsp;code.co_exceptions)&nbsp;*&nbsp;8)&nbsp;+&nbsp;count_bytes&nbsp;(flatmap&nbsp;streamify_attrs&nbsp;code.co_attributes))&nbsp;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asU2&nbsp;code.co_max_stack;&nbsp;asU2&nbsp;code.co_max_locals;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(count_bytes&nbsp;(flatmap&nbsp;streamify_attrs&nbsp;code.co_attributes)))]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;streamify_opcode&nbsp;code.co_code<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;code.co_exceptions)]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;(<span class="constructor">List</span>.flatten&nbsp;(<span class="keyword">let</span>&nbsp;streamify_exceptions&nbsp;e&nbsp;=&nbsp;[&nbsp;asU2&nbsp;e.ex_start_pc;&nbsp;asU2&nbsp;e.ex_end_pc;&nbsp;asU2&nbsp;e.ex_handler_pc;&nbsp;asU2&nbsp;e.ex_catch_type&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">in</span>&nbsp;<span class="constructor">List</span>.map&nbsp;streamify_exceptions&nbsp;code.co_exceptions))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;[asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;code.co_attributes)]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;streamify_attrs&nbsp;code.co_attributes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">StackMap</span>&nbsp;stackmap&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U2</span>&nbsp;0x0013;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(2&nbsp;+&nbsp;(count_bytes&nbsp;(flatmap&nbsp;streamify_entry&nbsp;stackmap))))]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;streamify_entry&nbsp;stackmap<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Exceptions</span>&nbsp;exep&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x0014;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(2&nbsp;+&nbsp;(2&nbsp;*&nbsp;(<span class="constructor">List</span>.length&nbsp;exep))));&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;exep)&nbsp;]&nbsp;@&nbsp;(<span class="constructor">List</span>.map&nbsp;(<span class="keyword">fun</span>&nbsp;e&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;asU2&nbsp;e)&nbsp;exep)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">InnerClasses</span>&nbsp;inner&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class="constructor">U2</span>&nbsp;0x0015;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(2&nbsp;+&nbsp;(8&nbsp;*&nbsp;(<span class="constructor">List</span>.length&nbsp;inner))));&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;inner)]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;(<span class="keyword">fun</span>&nbsp;cl&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;asU2&nbsp;cl.inner_class_index;&nbsp;asU2&nbsp;cl.outer_class_index;&nbsp;asU2&nbsp;cl.inner_name_index;&nbsp;merge_flags&nbsp;cl.inner_access_flags&nbsp;])&nbsp;inner<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EnclosingMethod</span>&nbsp;(host,&nbsp;meth)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x0016;&nbsp;<span class="constructor">U4</span>&nbsp;0x4<span class="constructor">L</span>;&nbsp;asU2&nbsp;host;&nbsp;asU2&nbsp;meth&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SyntheticAttr</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x0017;&nbsp;<span class="constructor">U4</span>&nbsp;0x0<span class="constructor">L</span>&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SignatureAttr</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x0018;&nbsp;<span class="constructor">U4</span>&nbsp;0x2<span class="constructor">L</span>;&nbsp;asU2&nbsp;i&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SourceFile</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x0019;&nbsp;<span class="constructor">U4</span>&nbsp;0x2<span class="constructor">L</span>;&nbsp;asU2&nbsp;i&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SourceDebug</span>&nbsp;data&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x001A&nbsp;;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(<span class="constructor">List</span>.length&nbsp;(asUTF8mod&nbsp;data)))&nbsp;]&nbsp;@&nbsp;(asUTF8mod&nbsp;data)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">LineNumbers</span>&nbsp;numbers&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x001B;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(2&nbsp;+&nbsp;(4&nbsp;*&nbsp;(<span class="constructor">List</span>.length&nbsp;numbers))));&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;numbers)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;(<span class="keyword">fun</span>&nbsp;(start_pc,&nbsp;line_number)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;asU2&nbsp;start_pc;&nbsp;asU2&nbsp;line_number&nbsp;])&nbsp;numbers<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">LocalVariables</span>&nbsp;vars&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x001C;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(2&nbsp;+&nbsp;(10&nbsp;*&nbsp;(<span class="constructor">List</span>.length&nbsp;vars))));&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;vars)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;(<span class="keyword">fun</span>&nbsp;var&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;asU2&nbsp;var.start_pc;&nbsp;asU2&nbsp;var.length;&nbsp;asU2&nbsp;var.name_index;&nbsp;asU2&nbsp;var.des_sig_index;&nbsp;asU2&nbsp;var.index&nbsp;])&nbsp;vars<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">LocalVariablesType</span>&nbsp;types&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x001D;&nbsp;asU4&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(2&nbsp;+&nbsp;(10&nbsp;*&nbsp;(<span class="constructor">List</span>.length&nbsp;types))));&nbsp;asU2&nbsp;(<span class="constructor">List</span>.length&nbsp;types)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;flatmap&nbsp;(<span class="keyword">fun</span>&nbsp;var&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;asU2&nbsp;var.start_pc;&nbsp;asU2&nbsp;var.length;&nbsp;asU2&nbsp;var.name_index;&nbsp;asU2&nbsp;var.des_sig_index;&nbsp;asU2&nbsp;var.index&nbsp;])&nbsp;types<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Deprecated</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="constructor">U2</span>&nbsp;0x001E;&nbsp;<span class="constructor">U4</span>&nbsp;0<span class="constructor">L</span>&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">RuntimeVisibleAnnotations</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">RuntimeInvisibleAnnotations</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">RuntimeVisibleParameterAnnotations</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">RuntimeInvisibleParameterAnnotations</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AnnotationDefault</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span><br>
<br>
<span class="keyword">and</span>&nbsp;streamify_opcode&nbsp;=&nbsp;<span class="keyword">function</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AaLoad</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x32]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">BaLoad</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x33]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">CaLoad</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x34]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">DaLoad</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x31]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">FaLoad</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x30]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IaLoad</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x2E]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">LaLoad</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x2F]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SaLoad</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x35]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Aload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x19;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Aload_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x2A]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Aload_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x2B]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Aload_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x2C]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Aload_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x2D]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x18;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dload_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x26]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dload_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x27]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dload_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x28]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dload_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x29]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x17&nbsp;;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fload_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x22]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fload_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x23]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fload_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x24]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fload_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x24]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x15;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iload_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x1A]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iload_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x1B]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iload_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x1C]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iload_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x1D]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x16;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lload_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x1E]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lload_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x1F]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lload_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x20]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lload_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x21]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AaStore</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x53]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">BaStore</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x54]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">CaStore</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x55]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">DaStore</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x52]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">FaStore</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x51]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IaStore</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x4F]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">LaStore</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x50]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SaStore</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x56]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Astore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x3A;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Astore_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x4B]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Astore_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x4C]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Astore_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x4D]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Astore_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x4E]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dstore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x39;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dstore_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x47]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dstore_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x48]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dstore_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x49]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dstore_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x4A]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fstore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x38;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fstore_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x43]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fstore_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x44]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fstore_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x45]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fstore_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x46]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Istore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x36;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Istore_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x3B]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Istore_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x3C]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Istore_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x3D]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Istore_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x3E]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lstore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x37;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lstore_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x3F]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lstore_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x40]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lstore_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x41]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lstore_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x42]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AconstNull</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x1]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AnewArray</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xBD;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Areturn</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dreturn</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xAF]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Freturn</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xAE]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ireturn</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xAC]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lreturn</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xAD]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Return</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB1]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ArrayLength</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xBE]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Athrow</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xBF]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">BiPush</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x10;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SiPush</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x11;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Swap</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x5F]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">CheckCast</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC0;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">D2f</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x90]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">D2i</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x8E]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">D2l</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x8F]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F2d</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x8D]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F2i</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x8B]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F2l</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x8C]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">I2b</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x91]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">I2c</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x92]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">I2d</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x87]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">I2f</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x86]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">I2l</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x85]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">I2s</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x93]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">L2d</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x8A]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">L2f</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x89]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">L2i</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x88]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dadd</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x63]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fadd</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x62]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iadd</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x60]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ladd</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x61]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dcmpg</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x98]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dcmpl</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x97]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fcmpg</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x96]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fcmpl</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x95]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lcmp</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x94]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfAcompeq</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA5;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfAcompne</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA6;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfIcompeq</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x9F;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfIcompne</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA0;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfIcomplt</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA1;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfIcomple</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA4;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfIcompgt</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA2;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfIcompge</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA3;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ifeq</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x99;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ifne</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x9A;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iflt</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x9B;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ifle</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x9E;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ifgt</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x9D;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ifge</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x9C;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfNonNull</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC7;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IfNull</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC6;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dconst_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xE]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dconst_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xF]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fconst_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fconst_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fconst_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xD]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iconst_m1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x2]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iconst_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x3]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iconst_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x4]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iconst_2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x5]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iconst_3</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x6]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iconst_4</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x7]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iconst_5</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x8]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lconst_0</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x9]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lconst_1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ddiv</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x6F]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fdiv</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x6E]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Idiv</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x6C]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ldiv</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x6D]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dmul</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x6B]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fmul</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x6A]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Imul</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x68]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lmul</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x69]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dneg</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x77]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fneg</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x76]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ineg</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x74]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lneg</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x75]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Drem</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x73]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Frem</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x72]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Irem</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x70]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lrem</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x71]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dsub</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x67]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fsub</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x66]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Isub</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x64]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lsub</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x65]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dup</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x59]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dup_x1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x5A]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dup_x2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x5B]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dup2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x5C]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dup2_x1</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x5D]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dup2_x2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x5E]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">GetField</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB4;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">GetStatic</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB2;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Goto</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA7;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Goto_w</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC8;&nbsp;bytesplit&nbsp;i&nbsp;3;&nbsp;bytesplit&nbsp;i&nbsp;2;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iand</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x7E]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Land</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x7F]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ior</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x80]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ixor</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x82]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lor</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x81]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lxor</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x83]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iinc</span>&nbsp;(i&nbsp;,&nbsp;const)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x84;&nbsp;asU1&nbsp;i;&nbsp;asU1&nbsp;const]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">InstanceOf</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC1;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">InvokeInterface</span>&nbsp;(i&nbsp;,&nbsp;count)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB9;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0&nbsp;;&nbsp;asU1&nbsp;count;&nbsp;<span class="constructor">U1</span>&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">InvokeSpecial</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB7&nbsp;;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">InvokeStatic</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB8;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">InvokeVirtual</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB6;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">InvokeDynamic</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;<span class="constructor">Unimplemented</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ishl</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x78]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ishr</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x7A]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iushr</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x7C]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lshl</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x79]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lshr</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x7B]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lushr</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x7D]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Jsr</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;(<span class="constructor">DeprecatedOpcode</span>&nbsp;(<span class="constructor">Jsr</span>&nbsp;i))<span class="comment">(*[U1&nbsp;0xA8;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]*)</span>&nbsp;<span class="comment">(*DEPRACATED*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Jsr_w</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;(<span class="constructor">DeprecatedOpcode</span>&nbsp;(<span class="constructor">Jsr_w</span>&nbsp;i))<span class="comment">(*[U1&nbsp;0xC9;&nbsp;bytesplit&nbsp;i&nbsp;3;&nbsp;bytesplit&nbsp;i&nbsp;2;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]*)</span>&nbsp;<span class="comment">(*DEPRACATED*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ldc</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x12;&nbsp;asU1&nbsp;i]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ldc_w</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x13;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ldc2_w</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x14;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">LookupSwitch</span>&nbsp;(default&nbsp;,&nbsp;pairs&nbsp;)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="comment">(*&nbsp;WARNING:&nbsp;0-3&nbsp;byte&nbsp;padding&nbsp;needs&nbsp;to&nbsp;be&nbsp;inserted&nbsp;depending&nbsp;on&nbsp;position&nbsp;in&nbsp;code&nbsp;array&nbsp;*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class="constructor">U1</span>&nbsp;0xAB;&nbsp;bytesplit&nbsp;(<span class="constructor">List</span>.length&nbsp;pairs)&nbsp;3;&nbsp;bytesplit&nbsp;(<span class="constructor">List</span>.length&nbsp;pairs)&nbsp;2;&nbsp;bytesplit&nbsp;(<span class="constructor">List</span>.length&nbsp;pairs)&nbsp;1;&nbsp;bytesplit&nbsp;(<span class="constructor">List</span>.length&nbsp;pairs)&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;(<span class="keyword">let</span>&nbsp;split_pairs&nbsp;(a,&nbsp;b)&nbsp;=&nbsp;[&nbsp;bytesplit32&nbsp;a&nbsp;3;&nbsp;bytesplit32&nbsp;a&nbsp;2;&nbsp;bytesplit32&nbsp;a&nbsp;1;&nbsp;bytesplit32&nbsp;a&nbsp;0;&nbsp;bytesplit32&nbsp;b&nbsp;3;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytesplit32&nbsp;b&nbsp;2;&nbsp;bytesplit32&nbsp;b&nbsp;1;&nbsp;bytesplit32&nbsp;b&nbsp;0&nbsp;]&nbsp;<span class="keyword">in</span>&nbsp;flatmap&nbsp;split_pairs&nbsp;pairs)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TableSwitch</span>&nbsp;(default&nbsp;,&nbsp;low&nbsp;,&nbsp;high&nbsp;,&nbsp;offsets)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class="constructor">U1</span>&nbsp;0xAA&nbsp;;&nbsp;bytesplit32&nbsp;default&nbsp;3;&nbsp;bytesplit32&nbsp;default&nbsp;2;&nbsp;bytesplit32&nbsp;default&nbsp;1;&nbsp;bytesplit32&nbsp;default&nbsp;0;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytesplit32&nbsp;low&nbsp;3;&nbsp;bytesplit32&nbsp;low&nbsp;2;&nbsp;bytesplit32&nbsp;low&nbsp;1;&nbsp;bytesplit32&nbsp;low&nbsp;0;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytesplit32&nbsp;high&nbsp;3;&nbsp;bytesplit32&nbsp;high&nbsp;2;&nbsp;bytesplit32&nbsp;high&nbsp;1&nbsp;;&nbsp;bytesplit32&nbsp;high&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;(<span class="keyword">let</span>&nbsp;split_offset&nbsp;n&nbsp;=&nbsp;[&nbsp;bytesplit32&nbsp;n&nbsp;3;&nbsp;bytesplit32&nbsp;n&nbsp;2;&nbsp;bytesplit32&nbsp;n&nbsp;1;&nbsp;bytesplit32&nbsp;n&nbsp;0&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">in</span>&nbsp;flatmap&nbsp;split_offset&nbsp;offsets)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">MonitorEnter</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC2]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">MonitorExit</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC3]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">MultiNewArray</span>&nbsp;(i&nbsp;,&nbsp;dimension)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xC5;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0;&nbsp;asU1&nbsp;dimension]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NewArray</span>&nbsp;a&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<span class="constructor">U1</span>&nbsp;0xBC;&nbsp;(<span class="keyword">match</span>&nbsp;a&nbsp;<span class="keyword">with</span>&nbsp;<span class="constructor">TBoolean</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;0x4&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TChar</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;0x5&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TFloat</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;0x6&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TDouble</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;0x7&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TByte</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;0x8&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TShort</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;0x9&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TInt</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;0x10&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TLong</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;0x11)&nbsp;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">New</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xBB;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NoOp</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Pop</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x57]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Pop2</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x58]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">PutField</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB5;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">PutStatic</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xB3;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ret</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;(<span class="constructor">DeprecatedOpcode</span>&nbsp;(<span class="constructor">Ret</span>&nbsp;i))<span class="comment">(*[U1&nbsp;0xA9;&nbsp;asU1&nbsp;i]*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Wide</span>&nbsp;op&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">List</span>.flatten&nbsp;[[<span class="constructor">U1</span>&nbsp;0xC4];<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keyword">match</span>&nbsp;op&nbsp;<span class="keyword">with</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x15;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x17&nbsp;;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Aload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x19&nbsp;;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x16&nbsp;;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dload</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x18;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Istore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x36;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Fstore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x38;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Astore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x3A;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Lstore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x37;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Dstore</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x39;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Ret</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0xA9;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Iinc</span>&nbsp;(i&nbsp;,&nbsp;const)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[<span class="constructor">U1</span>&nbsp;0x84;&nbsp;bytesplit&nbsp;i&nbsp;1;&nbsp;bytesplit&nbsp;i&nbsp;0;&nbsp;bytesplit&nbsp;const&nbsp;1;&nbsp;bytesplit&nbsp;const&nbsp;0]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;illegal&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;(<span class="constructor">IllegalWideArg</span>&nbsp;illegal)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)]<br>
<br>
<span class="comment">(*&nbsp;Convert&nbsp;abstract&nbsp;bc&nbsp;type&nbsp;into&nbsp;hard&nbsp;binary&nbsp;form&nbsp;and&nbsp;push&nbsp;it&nbsp;into&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br>
<span class="comment">(*&nbsp;output_channel&nbsp;oc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br>
<span class="keyword">let</span>&nbsp;binarize&nbsp;oc&nbsp;byte_type&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keyword">match</span>&nbsp;byte_type&nbsp;<span class="keyword">with</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U1</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;output_byte&nbsp;oc&nbsp;i<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U2</span>&nbsp;i&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S2</span>&nbsp;i&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b0&nbsp;=&nbsp;(i&nbsp;<span class="keyword">lsr</span>&nbsp;8)&nbsp;<span class="keyword">land</span>&nbsp;0xFF&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b1&nbsp;=&nbsp;i&nbsp;<span class="keyword">land</span>&nbsp;0xFF&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;b0;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;b1<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">U4</span>&nbsp;l&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b0&nbsp;=&nbsp;<span class="constructor">Int64</span>.logand&nbsp;(<span class="constructor">Int64</span>.shift_right_logical&nbsp;l&nbsp;24)&nbsp;0xFF<span class="constructor">L</span>&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b1&nbsp;=&nbsp;<span class="constructor">Int64</span>.logand&nbsp;(<span class="constructor">Int64</span>.shift_right_logical&nbsp;l&nbsp;16)&nbsp;0xFF<span class="constructor">L</span>&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b2&nbsp;=&nbsp;<span class="constructor">Int64</span>.logand&nbsp;(<span class="constructor">Int64</span>.shift_right_logical&nbsp;l&nbsp;8)&nbsp;0xFF<span class="constructor">L</span>&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b3&nbsp;=&nbsp;<span class="constructor">Int64</span>.logand&nbsp;l&nbsp;0xFF<span class="constructor">L</span>&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;(<span class="constructor">Int64</span>.to_int&nbsp;b0);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;(<span class="constructor">Int64</span>.to_int&nbsp;b1);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;(<span class="constructor">Int64</span>.to_int&nbsp;b2);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;(<span class="constructor">Int64</span>.to_int&nbsp;b3)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S4</span>&nbsp;l&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b0&nbsp;=&nbsp;<span class="constructor">Int32</span>.logand&nbsp;(<span class="constructor">Int32</span>.shift_right_logical&nbsp;l&nbsp;24)&nbsp;0xFFl&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b1&nbsp;=&nbsp;<span class="constructor">Int32</span>.logand&nbsp;(<span class="constructor">Int32</span>.shift_right_logical&nbsp;l&nbsp;16)&nbsp;0xFFl&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b2&nbsp;=&nbsp;<span class="constructor">Int32</span>.logand&nbsp;(<span class="constructor">Int32</span>.shift_right_logical&nbsp;l&nbsp;8)&nbsp;0xFFl&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b3&nbsp;=&nbsp;<span class="constructor">Int32</span>.logand&nbsp;l&nbsp;0xFFl&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;(<span class="constructor">Int32</span>.to_int&nbsp;b0);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;(<span class="constructor">Int32</span>.to_int&nbsp;b1);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;(<span class="constructor">Int32</span>.to_int&nbsp;b2);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output_byte&nbsp;oc&nbsp;(<span class="constructor">Int32</span>.to_int&nbsp;b3))<br>
<br>
<span class="comment">(*&nbsp;convert&nbsp;input_channel&nbsp;containing&nbsp;a&nbsp;class&nbsp;file&nbsp;to&nbsp;Jvm_bytecode.t&nbsp;*)</span><br>
<span class="keyword">let</span>&nbsp;classify&nbsp;ic&nbsp;=&nbsp;(raise&nbsp;<span class="constructor">Unimplemented</span>)<br>
<br>
<span class="keyword">exception</span>&nbsp;<span class="constructor">IllegalDebinarize</span>&nbsp;<span class="keyword">of</span>&nbsp;string<br>
<br>
<span class="comment">(*TODO:substitue&nbsp;input_byte&nbsp;with&nbsp;small&nbsp;function&nbsp;that&nbsp;handels&nbsp;errors&nbsp;and&nbsp;blah!&nbsp;*)</span><br>
<br>
<span class="keyword">let</span>&nbsp;debinarize&nbsp;ic&nbsp;byte_id&nbsp;=&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keyword">match</span>&nbsp;byte_id&nbsp;<span class="keyword">with</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="string">"U1"</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U1</span>&nbsp;(input_byte&nbsp;ic)&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="string">"U2"</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">U2</span>&nbsp;(((input_byte&nbsp;ic)&nbsp;<span class="keyword">lsl</span>&nbsp;8)&nbsp;<span class="keyword">lor</span>&nbsp;(input_byte&nbsp;ic))&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="string">"U4"</span>&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b0&nbsp;=&nbsp;(<span class="constructor">Int64</span>.shift_left&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(input_byte&nbsp;ic))&nbsp;24)&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b1&nbsp;=&nbsp;(<span class="constructor">Int64</span>.shift_left&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(input_byte&nbsp;ic))&nbsp;16)&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b2&nbsp;=&nbsp;(<span class="constructor">Int64</span>.shift_left&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(input_byte&nbsp;ic))&nbsp;8)&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b3&nbsp;=&nbsp;(<span class="constructor">Int64</span>.of_int&nbsp;(input_byte&nbsp;ic))&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">U4</span>&nbsp;(&nbsp;<span class="constructor">Int64</span>.logand&nbsp;b3&nbsp;(<span class="constructor">Int64</span>.logand&nbsp;b2&nbsp;(<span class="constructor">Int64</span>.logand&nbsp;b1&nbsp;b0))&nbsp;)&nbsp;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="string">"S2"</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">S2</span>&nbsp;(<span class="keyword">let</span>&nbsp;b&nbsp;=&nbsp;input_byte&nbsp;ic&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;b&nbsp;&lt;&nbsp;32768&nbsp;<span class="keyword">then</span>&nbsp;b&nbsp;<span class="keyword">else</span>&nbsp;b&nbsp;-&nbsp;65536)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="string">"S4"</span>&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b0&nbsp;=&nbsp;(<span class="constructor">Int32</span>.shift_left&nbsp;(<span class="constructor">Int32</span>.of_int&nbsp;(input_byte&nbsp;ic))&nbsp;24)&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b1&nbsp;=&nbsp;(<span class="constructor">Int32</span>.shift_left&nbsp;(<span class="constructor">Int32</span>.of_int&nbsp;(input_byte&nbsp;ic))&nbsp;16)&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b2&nbsp;=&nbsp;(<span class="constructor">Int32</span>.shift_left&nbsp;(<span class="constructor">Int32</span>.of_int&nbsp;(input_byte&nbsp;ic))&nbsp;8)&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;b3&nbsp;=&nbsp;(<span class="constructor">Int32</span>.of_int&nbsp;(input_byte&nbsp;ic))&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">S4</span>&nbsp;(&nbsp;<span class="constructor">Int32</span>.logand&nbsp;b3&nbsp;(<span class="constructor">Int32</span>.logand&nbsp;b2&nbsp;(<span class="constructor">Int32</span>.logand&nbsp;b1&nbsp;b0))&nbsp;)&nbsp;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;unsupported&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;raise&nbsp;(<span class="constructor">IllegalDebinarize</span>&nbsp;unsupported)&nbsp;)<br>
<br>
<span class="keyword">let</span>&nbsp;write_bytecode&nbsp;fileName&nbsp;classfile&nbsp;=&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;stream&nbsp;=&nbsp;streamify&nbsp;classfile&nbsp;&nbsp;<span class="keyword">in</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;oc&nbsp;=&nbsp;open_out_bin&nbsp;fileName&nbsp;<span class="keyword">in</span>&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">List</span>.iter&nbsp;(<span class="keyword">fun</span>&nbsp;t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;binarize&nbsp;oc&nbsp;t)&nbsp;stream;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flush&nbsp;oc;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;close_out&nbsp;oc<br>
<br>
<span class="keyword">let</span>&nbsp;read_bytecode&nbsp;fileName&nbsp;=&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">let</span>&nbsp;ic&nbsp;=&nbsp;open_in_bin&nbsp;fileName<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">in</span>&nbsp;classify&nbsp;ic&nbsp;;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">(*&nbsp;flush&nbsp;?&nbsp;*)</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;close_in&nbsp;ic<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
</code></body></html>